package com.demo.producer.entity;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

/**
 * @author Hanson
 * @date 2022/9/28 17:00
 */
@Data
public class OTAEntity {

    /**
     * 设备 id
     */
    private String dId = "0123123";

    /**
     * 消息类型
     */
    private String msgFrame = "013";

    /**
     * 接口协议版本，默认为 V2.1
     */
    private String protocolVersion = "V2.1";

    /**
     * 软件原版本
     */
    private String softwareVersion = "1.0.0";

    /**
     * 硬件版本
     */
    private String hardwareVersion = "2.0.0";

    /**
     * 待升级模块
     */
    @JSONField(name = "OTAModules")
    private JSON OTAModules;

    /**
     * 下载地址的用户名
     */
    @JSONField(name = "OTAUserId")
    private String OTAUserId;

    /**
     * 下载地址的登录密码
     */
    @JSONField(name = "OTApassword")
    private String OTApassword;

    /**
     * OTA 传输协议
     */
    @JSONField(name = "OTAtransprotocal")
    private String OTAtransprotocal = "https";

    /**
     * 建议升级时间0：立即升级； >0：UTC 时间
     */
    @JSONField(name = "OTATime")
    private Long OTATime = 0L;

    /**
     * 校验模式。0：不使用, 1: token；
     * 注：当前固定使用 token 模式
     */
    private Integer authMode = 1;

    /**
     * 下载版本时使用的校验 token,最大长度256，有效期 24 小时
     */
    //private String token;

    /**
     * 时间戳，精确到毫秒，UTC 时间
     */
    private Long timestamp = 1664540782216L;

    /**
     * 是否需要确认（true：需要确认  false：不需要(默认)）
     */
    private  Boolean ack = false;

    /**
     * 确认信息
     * 当需要确认时必填，用于匹配响应
     */
    //private String seqNum;

}
